
{{tag>Lucid xorg}}
----

====== MPX : Multi-Pointer X ======

MPX est un acronyme de multi-pointer X Server (Serveur X à multi-pointage). 
MPX est une modification de X.Org implantée dans le système X Window. Il permet d'utiliser plusieurs pointeurs indépendants au niveau du système de fenêtrage. Contrairement à beaucoup d'autres applications de multi-pointage, MPX permet à de nombreuses applications X Window de s'exécuter sans aucune modification.
Il permet entre autre à plusieurs utilisateurs d'exploiter simultanément des applications différentes.
===== Installation =====

<note important>
Depuis Ubuntu 10.04 LTS,Lucid Lynx, MPX est inclus dans Xorg (pour info version 7.5).

La méthode décrite ci-dessous n'est valable qu'a partir de Ubuntu Lucid.
</note>

===== Utilisation =====
Depuis une [[:console]], on regarde la configuration actuelle :
<code>$ xinput list</code>
<file>
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Zalman FPSGUN Mouse                     	id=8	[slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse         	id=9	[slave  pointer  (2)]
⎜   ↳ HID 046a:0023                           	id=11	[slave  pointer  (2)]
⎜   ↳ btnx mouse                              	id=14	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Power Button                            	id=7	[slave  keyboard (3)]
    ↳ HID 046a:0023                           	id=10	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=12	[slave  keyboard (3)]
    ↳ btnx keyboard                           	id=13	[slave  keyboard (3)]
</file>
Il existe 1 pointeur virtuel((Virtual core pointer)) et 1 clavier virtuel((Virtual core keyboard)) qui sont liés.

On remarque que mes deux souris sont associées au seul pointeur.

On ajoute donc un nouveau pointeur :
<code>$ xinput create-master New</code>
On regarde ce que ça donne, toujours par :
<code>$ xinput list</code>
À la fin nous retrouvons un nouveau couple clavier/souris.
<file>
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Zalman FPSGUN Mouse                     	id=8	[slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse         	id=9	[slave  pointer  (2)]
⎜   ↳ HID 046a:0023                           	id=11	[slave  pointer  (2)]
⎜   ↳ btnx mouse                              	id=14	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Power Button                            	id=7	[slave  keyboard (3)]
    ↳ HID 046a:0023                           	id=10	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=12	[slave  keyboard (3)]
    ↳ btnx keyboard                           	id=13	[slave  keyboard (3)]
⎡ New pointer                             	id=15	[master pointer  (16)]
⎜   ↳ New XTEST pointer                       	id=17	[slave  pointer  (15)]
⎣ New keyboard                            	id=16	[master keyboard (15)]
    ↳ New XTEST keyboard                      	id=18	[slave  keyboard (16)]
</file>

<note>Vous devez voir un nouveau pointeur inactif sur votre écran.</note>

Maintenant, on va prendre le //Zalman FPSGUN Mouse// par son identifiant « id=8 » et l'associer à notre nouveau pointeur « id=15 ». 
<code>$ xinput reattach 8 15</code>
Ce qui nous donne comme configuration de xinput :
<file>
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse         	id=9	[slave  pointer  (2)]
⎜   ↳ HID 046a:0023                           	id=11	[slave  pointer  (2)]
⎜   ↳ btnx mouse                              	id=14	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Power Button                            	id=7	[slave  keyboard (3)]
    ↳ HID 046a:0023                           	id=10	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=12	[slave  keyboard (3)]
    ↳ btnx keyboard                           	id=13	[slave  keyboard (3)]
⎡ New pointer                             	id=15	[master pointer  (16)]
⎜   ↳ Zalman FPSGUN Mouse                     	id=8	[slave  pointer  (15)]
⎜   ↳ New XTEST pointer                       	id=17	[slave  pointer  (15)]
⎣ New keyboard                            	id=16	[master keyboard (15)]
    ↳ New XTEST keyboard                      	id=18	[slave  keyboard (16)]
</file>

<note>Le nouveau curseur doit bouger avec votre seconde souris.</note>

Pour annuler tout ça, on réaffecte notre seconde souris à notre premier curseur « id=2 » :
<code>$ xinput reattach 8 2</code>
Et on supprime notre curseur inutile (toujours id=15) :
<code>$ xinput remove-master 15</code>

<note>Le curseur inutile doit avoir disparu ! </note>

<note tip>Rien n'empêche d'appeler votre curseur comme vous le voulez au lieu de « New ».</note>

===== Divers =====

Interface graphique pour xinput : http://forum.ubuntu-fr.org/viewtopic.php?pid=3511081#p3511081

===== Liens Externes =====

  * Voir [[wpfr>Multi-Pointer_X]] sur Wikipedia [fr]
  * Voir [[wp>Multi-Pointer_X]] sur Wikipedia [en]


----
//Contributeurs : [[:utilisateurs:Ignace72|Ignace72]]//